package com.newmodelclient.baselib.presenter;


import com.newmodelclient.baselib.container.CommonBaseResponse;
import com.newmodelclient.baselib.util.ToastUtil;

/**
 * 文件名：FCBaseCallBack
 * 描 述：底层callback，主要用于presenter网络请求的回调
 * 作 者：gyq
 * 时 间：2021-1-22
 */
public abstract class FCBaseCallBack<T> {

    /**
    * 成功处理
    * */
    public abstract void onSuccess(T obj);

    /**
     * 服务失败处理
     * */
    public void onServiceError(T obj) {
        if (obj instanceof CommonBaseResponse) {
            String msg = ((CommonBaseResponse)obj).getMsg();
            if (msg != null && msg.length() > 0) {
                ToastUtil.showToast(msg);
            } else {
                ToastUtil.showToast(FCBasePresenter.SERVER_FAILED_STR);
            }
        } else {
            ToastUtil.showToast(FCBasePresenter.SERVER_FAILED_STR);
        }
    }

    /**
     * 网络异常处理
     * */
    public void onNetWorkError(String errorMsg) {
        if (errorMsg != null && errorMsg.length() > 0) {
            ToastUtil.showToast(errorMsg);
        } else {
            ToastUtil.showToast(FCBasePresenter.WEB_FAILED_STR);
        }
    }

}
